package com.example.net

import javax.inject.Qualifier

/**
 * 自定义Hilt注解,用于区分不同实例
 * 1.什么是元注解?注解其他自定义注解的注解(注解的太爷爷)
 *
 * Java中的5个元注解
 * @Retention 声明注解的生命周期(Source,CLASS,RUNTIME)
 * @Traget 声明注解的作用目标（类名，方法名，参数）
 * @Documented 声明帮助文档,开发后端接口
 * @Inherited 是否让其他注解继承
 * @Repeatable 声明可以重复注解
 * 定义方式：@interface
 * Kotlin中的元注解
 * @Traget 声明注解的作用目标（类名，方法名，参数）
 * @Retention 声明注解的生命周期(Source,CLASS,RUNTIME)
 * @Repeatable 声明可以重复注解
 * @MustBeDocuMented
 * @JvmStatic //静态
 * @JvmOverloads //重载
 * @JvmName //名称
 * @JvmField //属性
 * 定义方式：annotation class
 */
@Qualifier//声明依赖注入 用于区分多个实例
@Retention(AnnotationRetention.BINARY)
annotation class HttpClientAnnotation
@Qualifier//声明依赖注入 用于区分多个实例
@Retention(AnnotationRetention.BINARY)
annotation class HttpsClientAnnotation
@Qualifier//声明依赖注入 用于区分多个实例
@Retention(AnnotationRetention.BINARY)
annotation class HttpRetrofitAnnotation
@Qualifier//声明依赖注入 用于区分多个实例
@Retention(AnnotationRetention.BINARY)
annotation class HttpsRetrofitAnnotation
